package com.note.app.dto.collaboration;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.persistence.Column;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 协作会话DTO
 */
@Data
@Schema(description = "协作会话信息")
public class CollaborationSessionDTO {
    
    @Schema(description = "会话ID")
    private Long id;
    
    @Schema(description = "笔记ID")
    private Long noteId;
    
    @Schema(description = "笔记标题")
    private String noteTitle;
    
    @Schema(description = "创建者ID")
    private Long creatorId;
    
    @Schema(description = "创建者名称")
    private String creatorName;
    
    @Schema(description = "会话名称")
    private String name;
    
    @Schema(description = "访问令牌")
    private String accessToken;
    
    @Schema(description = "会话状态: 0-关闭, 1-活跃")
    private Integer status;
    
    @Schema(description = "最大参与人数")
    private Integer maxParticipants;
    
    @Schema(description = "当前参与人数")
    private Integer currentParticipants;
    
    @Schema(description = "参与者列表")
    private List<CollaborationParticipantDTO> participants;
    
    @Schema(description = "过期时间")
    private LocalDateTime expiredAt;

    @Column(name = "created_at")
    @Schema(description = "创建时间")
    private LocalDateTime createdAt;

    @Column(name = "updated_at")
    @Schema(description = "更新时间")
    private LocalDateTime updatedAt;
} 